import { ReactNode } from 'react';
import { FormInstance } from 'antd/es/form';
import { FormListFieldData } from 'antd/es/form/FormList';
import { TableProps } from 'antd';
// 定义单条数据的基础类型

export interface FormTableItem extends Omit<NonNullable<TableProps<FormTableItem>['columns']>[number], 'render'> {
    // 列标题：支持字符串或React节点（如带红色星号的标题）
    title: string | ReactNode;
    // 列唯一标识（必须唯一）
    key: string;
    // 列宽度（可选）
    width?: number;
    hidden?: true,

    
    // 渲染表单控件的方法
    // 参数说明：
    // - index：当前行索引（必传）
    // - field：表单列表字段数据（可选，用于关联表单字段）
    // - form：表单实例（可选，用于表单操作如校验、取值等）
    renderFormItem: (
        index: number,
        field: FormListFieldData,
        form: FormInstance<{ items: FormTableItem[] }>
    ) => ReactNode;
    // 允许扩展其他属性（如align、fixed等表格列属性）

}
